home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / PInterfaces / AIFF.p < prev    next >
Encoding:
Text File  |  1992-01-29  |  3.6 KB  |  209 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Monday, December 2, 1991 at 5:01 PM
  4.  AIFF.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1990-1991
  8.   All rights reserved
  9. }
  10.  
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT AIFF;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingAIFF}
  22. {$SETC UsingAIFF := 1}
  23.  
  24. {$I+}
  25. {$SETC AIFFIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingTypes}
  28. {$I $$Shell(PInterfaces)Types.p}
  29. {$ENDC}
  30. {$SETC UsingIncludes := AIFFIncludes}
  31.  
  32. CONST
  33. AIFFID = 'AIFF';
  34. AIFCID = 'AIFC';
  35. FormatVersionID = 'FVER';
  36. CommonID = 'COMM';
  37. FORMID = 'FORM';
  38. SoundDataID = 'SSND';
  39. MarkerID = 'MARK';
  40. InstrumentID = 'INST';
  41. MIDIDataID = 'MIDI';
  42. AudioRecordingID = 'AESD';
  43. ApplicationSpecificID = 'APPL';
  44. CommentID = 'COMT';
  45. NameID = 'NAME';
  46. AuthorID = 'AUTH';
  47. CopyrightID = '(c) ';
  48. AnnotationID = 'ANNO';
  49. NoLooping = 0;
  50. ForwardLooping = 1;
  51. ForwardBackwardLooping = 2;
  52.  
  53. { AIFF-C Versions }
  54. AIFCVersion1 = $A2805140;
  55.  
  56. { Compression Names }
  57. NoneName = 'not compressed';
  58. ACE2to1Name = 'ACE 2-to-1';
  59. ACE8to3Name = 'ACE 8-to-3';
  60. MACE3to1Name = 'MACE 3-to-1';
  61. MACE6to1Name ='MACE 6-to-1';
  62.  
  63. { Compression Types }
  64. NoneType = 'NONE';
  65. ACE2Type = 'ACE2';
  66. ACE8Type = 'ACE8';
  67. MACE3Type = 'MAC3';
  68. MACE6Type = 'MAC6';
  69.  
  70. TYPE
  71. ID = LONGINT;
  72. MarkerIdType = INTEGER;
  73.  
  74. ChunkHeader = RECORD
  75.  ckID: ID;
  76.  ckSize: LONGINT;
  77.  END;
  78.  
  79. ContainerChunk = RECORD
  80.  ckID: ID;
  81.  ckSize: LONGINT;
  82.  formType: ID;
  83.  END;
  84.  
  85. FormatVersionChunkPtr = ^FormatVersionChunk;
  86. FormatVersionChunk = RECORD
  87.  ckID: ID;
  88.  ckSize: LONGINT;
  89.  timestamp: LONGINT;
  90.  END;
  91.  
  92. CommonChunkPtr = ^CommonChunk;
  93. CommonChunk = RECORD
  94.  ckID: ID;
  95.  ckSize: LONGINT;
  96.  numChannels: INTEGER;
  97.  numSampleFrames: LONGINT;
  98.  sampleSize: INTEGER;
  99.  sampleRate: Extended80;
  100.  END;
  101.  
  102. ExtCommonChunkPtr = ^ExtCommonChunk;
  103. ExtCommonChunk = RECORD
  104.  ckID: ID;
  105.  ckSize: LONGINT;
  106.  numChannels: INTEGER;
  107.  numSampleFrames: LONGINT;
  108.  sampleSize: INTEGER;
  109.  sampleRate: Extended80;
  110.  compressionType: ID;
  111.  compressionName: PACKED ARRAY [0..0] OF Byte;
  112.  END;
  113.  
  114. SoundDataChunkPtr = ^SoundDataChunk;
  115. SoundDataChunk = RECORD
  116.  ckID: ID;
  117.  ckSize: LONGINT;
  118.  offset: LONGINT;
  119.  blockSize: LONGINT;
  120.  END;
  121.  
  122. Marker = RECORD
  123.  id: MarkerIdType;
  124.  position: LONGINT;
  125.  markerName: Str255;
  126.  END;
  127.  
  128. MarkerChunkPtr = ^MarkerChunk;
  129. MarkerChunk = RECORD
  130.  ckID: ID;
  131.  ckSize: LONGINT;
  132.  numMarkers: INTEGER;
  133.  Markers: ARRAY [0..0] OF Marker;
  134.  END;
  135.  
  136. AIFFLoop = RECORD
  137.  playMode: INTEGER;
  138.  beginLoop: MarkerIdType;
  139.  endLoop: MarkerIdType;
  140.  END;
  141.  
  142. InstrumentChunkPtr = ^InstrumentChunk;
  143. InstrumentChunk = PACKED RECORD
  144.  ckID: ID;
  145.  ckSize: LONGINT;
  146.  baseFrequency: Byte;
  147.  detune: Byte;
  148.  lowFrequency: Byte;
  149.  highFrequency: Byte;
  150.  lowVelocity: Byte;
  151.  highVelocity: Byte;
  152.  gain: INTEGER;
  153.  sustainLoop: AIFFLoop;
  154.  releaseLoop: AIFFLoop;
  155.  END;
  156.  
  157. MIDIDataChunkPtr = ^MIDIDataChunk;
  158. MIDIDataChunk = RECORD
  159.  ckID: ID;
  160.  ckSize: LONGINT;
  161.  MIDIdata: PACKED ARRAY [0..0] OF SignedByte;
  162.  END;
  163.  
  164. AudioRecordingChunkPtr = ^AudioRecordingChunk;
  165. AudioRecordingChunk = RECORD
  166.  ckID: ID;
  167.  ckSize: LONGINT;
  168.  AESChannelStatus: PACKED ARRAY [0..23] OF SignedByte;
  169.  END;
  170.  
  171. ApplicationSpecificChunkPtr = ^ApplicationSpecificChunk;
  172. ApplicationSpecificChunk = RECORD
  173.  ckID: ID;
  174.  ckSize: LONGINT;
  175.  applicationSignature: OSType;
  176.  data: PACKED ARRAY [0..0] OF Byte;
  177.  END;
  178.  
  179. Comment = RECORD
  180.  timeStamp: LONGINT;
  181.  marker: MarkerIdType;
  182.  count: INTEGER;
  183.  text: PACKED ARRAY [0..0] OF Byte;
  184.  END;
  185.  
  186. CommentsChunkPtr = ^CommentsChunk;
  187. CommentsChunk = RECORD
  188.  ckID: ID;
  189.  ckSize: LONGINT;
  190.  numComments: INTEGER;
  191.  comments: ARRAY [0..0] OF Comment;
  192.  END;
  193.  
  194. TextChunkPtr = ^TextChunk;
  195. TextChunk = RECORD
  196.  ckID: ID;
  197.  ckSize: LONGINT;
  198.  text: PACKED ARRAY [0..0] OF Byte;
  199.  END;
  200.  
  201.  
  202.  
  203. {$ENDC} { UsingAIFF }
  204.  
  205. {$IFC NOT UsingIncludes}
  206.  END.
  207. {$ENDC}
  208.  
  209.